Computer virtualization is a technique that involves encapsulating a physical computing machine platform into a virtual machine that is executed under the control of virtualization software on a hardware computing platform. Virtualization software enables multiple virtual machines to be run on a single hardware computing platform, and can manage the allocation of computing resources to each virtual machine.
A set of hardware computing platforms can be organized as a server cluster to provide computing resources for example, for a data center. In addition, supporting technology can move running virtual machines between servers (also referred to herein as “host systems”) in the cluster, an example of this supporting technology is sold as VMware VMotion™ by VMware, Inc. of Palo Alto, Calif. In addition, server cluster virtualization management software can determine initial and ongoing locations of virtual machines on hosts within the server cluster, and can manage the allocation of cluster computing resources. An example of this server cluster virtualization management software is sold as VMware Distributed Resource Scheduler™ by VMware, Inc. of Palo Alto, Calif. In addition, high availability software (hereinafter referred to as “HAS”) provides features that monitor virtual machines to detect operating system and hardware failures, restart virtual machines on other physical servers in the cluster without manual intervention when server failure is detected, and protect applications from operating system allures by automatically restarting virtual machines when an operating system failure is detected. An example of this high availability software is sold as vSphere™ by VMware, Inc. of Palo Alto, Calif.
In one particular failure scenario, a server may lose network connectivity and becomes isolated from other servers and from the server cluster virtualization management software. In response to such situations, the isolated server might shutdown or power off any virtual machines running on the server. However, the time needed to restart the virtual machines significantly disrupts the availability of the virtual machines, and any state of the guest operating system and application is lost.